A brushless motor typically comprises a controller that controls the excitation of phase windings. The controller may adjust the phase and/or the length of excitation in response to changes in the speed of the motor. To this end, the controller may store a lookup table that comprises different control values for different motor speeds. The control values are then used to define the phase and/or the length of excitation.
The control values stored by the lookup table may be those for a nominal motor. Moreover, the control values may be selected such that the speed of the nominal motor, when operating under a nominal load, does not exceed an upper threshold and/or drop below a lower threshold. However, for a mass-produced motor, tolerances in the motor and/or the load under which the motor operates may mean that actual speed of the motor exceeds the upper threshold and/or drops below the lower threshold.